includes ,有兩個參數可以傳入,第一個是要搜尋的值,第二個是要搜尋的位置,預設值為0,也就是第一個值,特性是判斷陣列是否包含特定的元素,並回傳布林值,繼續用前一天的 a 來示範,a裡面有4個數字,分別是1、2、3、4,今天我們要找2是不是有在這個陣列之中,可以用 :
const a = [ 1, 2, 3, 4 ] ;
a.includes ( 2 ) ;
會回傳true這個布林值,因為2確實在a這個陣列中,那如果我們要看2是不是在a陣列中的第3個位置呢 ? 可以用 :
a.includes ( 2 , 2 ) ;
會回傳false這個布林值,前一天有提到陣列的位置是從0開始算的,所以2應該是在1這個位置,我用2的位置去找,當然是找不到的。
push,特性是會在最後面增加一個值,我們在 a 加上一個5的數字,可以用 :
a.push ( 5 ) ;
這樣 a 這個陣列裡面就有5個數字,分別是1、2、3、4、5。
slice : 有兩個參數,都是選擇性的( optional ),第一個是自哪一個索引值(起始為 0)開始提取拷貝。可使用負數索引,表示由陣列的最末項開始提取 ; 第二個是至哪一個索引(起始為 0)之前停止提取,特性是可以從陣列中選擇你要的範圍提取出來,成為一個新陣列,如果要取 a 陣列中的3、4兩個數字的話,可以用 :
a.slice ( 2 , 3 ) ;
這樣會回傳3、4兩個數字。
sort,對一個陣列的所有元素進行排序,並回傳此陣列,預設的排序順序是根據字串的 Unicode 編碼位置(code points)而定 ; 如果今天要排列順序,可以用 :
a.sort ( ) ; 或是 a.sort (( a , b ) ⇒ a - b ) ;
回傳結果是[ 1、2、3、4、5 ],那如果要相反呢 ? 可以用 :
a.sort (( a , b ) ⇒ b - a ) ;
回傳結果是[ 5、4、3、2、1 ]。
reduce,共有四個參數,後面三個是選擇性( optional ),第一個是用來累積回傳值的累加器或初始值,第二個是該陣列目前所迭代處理中的元素,第三個原陣列目前所迭代處理中的元素之索引。若有傳入初始值,則由索引 0 之元素開始,若無則自索引 1 之元素開始,第四個是呼叫該方法的陣列。
arr.reduce(callback[accumulator, currentValue, currentIndex, array], initialValue)
如果我們要用 a 陣列來將裡面的數字相加,可以用 :
a.reduce( (accumulator, currentValue) => accumulator + currentValue, 0 ) ;
上面是說從0開始累積,再將 a 陣列裡面的數字,一個一個呼叫,跟你最初設定的值( initialValue )作相加
第一次呼叫 0 ( initialValue ) + 1 =1
第二次呼叫 1 + 2 =3
第三次呼叫 3 + 3 =6
第四次呼叫 6 + 4 =10
第五次呼叫 10 + 5 =15
回傳結果是 15
因為陣列方法很多,所以我挑了目前工作常使用的,如果還想知道其他的方法,可以上MDN網站查詢。